//对创建该对象的函数的引用
var str = new String("This is string");
console.log("str.constructor is:" + str.constructor);
//返回字符串的长度
var uname = new String("Hello World");
console.log("Length " + uname.length); // 输出 11
//向对象添加方法和属性
function employe(id, name) {
    this.id = id;
    this.name = name;
}
var emp = new employe(123, "admin");
employe.prototype.email = "admin@runoob.com"; // 添加属性 email
console.log("员工号: " + emp.id);
console.log("员工姓名: " + emp.name);
console.log("员工邮箱: " + emp.email);
//返回在指定位置的字符
var str = new String("RUNOOB");
console.log("str.charAt(0) 为:" + str.charAt(0)); // R
console.log("str.charAt(1) 为:" + str.charAt(1)); // U 
console.log("str.charAt(2) 为:" + str.charAt(2)); // N 
console.log("str.charAt(3) 为:" + str.charAt(3)); // O 
console.log("str.charAt(4) 为:" + str.charAt(4)); // O 
console.log("str.charAt(5) 为:" + str.charAt(5)); // B
//返回指定为值的字符
var str = new String("RUNOOB");
console.log("str.charAt(0) 为:" + str.charAt(0)); // R
console.log("str.charAt(1) 为:" + str.charAt(1)); // U 
console.log("str.charAt(2) 为:" + str.charAt(2)); // N 
console.log("str.charAt(3) 为:" + str.charAt(3)); // O 
console.log("str.charAt(4) 为:" + str.charAt(4)); // O 
console.log("str.charAt(5) 为:" + str.charAt(5)); // B
//返回在指定的位置的字符的 Unicode 编码。
var str = new String("RUNOOB");
console.log("str.charCodeAt(0) 为:" + str.charCodeAt(0)); // 82
console.log("str.charCodeAt(1) 为:" + str.charCodeAt(1)); // 85 
console.log("str.charCodeAt(2) 为:" + str.charCodeAt(2)); // 78 
console.log("str.charCodeAt(3) 为:" + str.charCodeAt(3)); // 79 
console.log("str.charCodeAt(4) 为:" + str.charCodeAt(4)); // 79
console.log("str.charCodeAt(5) 为:" + str.charCodeAt(5)); // 66
//连接两个或更多字符串，并返回新的字符串
var str1 = new String("RUNOOB");
var st2 = new String("GOOGLE");
var str3 = str1.concat('st2');
console.log("str1 + st2 : " + str3); // RUNOOBGOOGLE
//indexOf()返回某个指定的字符串值在字符串中首次出现的位置。
var str1 = new String("RUNOOB");
var index = str1.indexOf("OO");
console.log("查找的字符串位置 :" + index); // 3
//match()查找找到一个或多个正则表达式的匹配。
var str4 = "The rain in SPAIN stays mainly in the plain";
var n = str4.match(/ain/g); // ain,ain,ain
//replace()替换与正则表达式匹配的子串
var re = /(\w+)\s(\w+)/;
var str5 = "zara ali";
var newstr = str5.replace(re, "$2, $1");
console.log(newstr); // ali, zara
//	search()检索与正则表达式相匹配的值
var re = /apples/gi;
var str6 = "Apples are round, and apples are juicy.";
if (str6.search(re) == -1) {
    console.log("Does not contain Apples");
}
else {
    console.log("Contains Apples");
}
//split()把字符串分割为子字符串数组。
var str7 = "Apples are round, and apples are juicy.";
var splitted = str7.split(" ", 3);
console.log(splitted); // [ 'Apples', 'are', 'round,' ]
//substring()提取字符串中两个指定的索引号之间的字符。
var str8 = "RUNOOB GOOGLE TAOBAO FACEBOOK";
console.log("(1,2): " + str8.substring(1, 2)); // U
console.log("(0,10): " + str8.substring(0, 10)); // RUNOOB GOO
console.log("(5): " + str8.substring(5)); // B GOOGLE TAOBAO FACEBOOK
//toLowerCase()把字符串转换为小写。
var str9 = "Runoob Google";
console.log(str9.toLowerCase()); // runoob google
//valueOf()返回指定字符串对象的原始值。
var str10 = new String("Runoob");
console.log(str10.valueOf()); // Runoob
